home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / IFRSIM.DSK / LAX NDB 24L.bas < prev    next >
BASIC Source File  |  2014-09-09  |  4KB  |  144 lines

  1. 5  REM        COPYRIGHT 1982
  2. 6  REM      BY VERNON BROWN AND
  3. 7  REM    PROGRAMAMERS SOFTWARE
  4. 9  REM   *  VERSION 821121     *
  5. 10  REM  ***********************
  6. 11  REM  * LAX NDB 24L BUILT   *
  7. 12  REM  *     FROM SEED       *
  8. 13  REM  *                     *
  9. 14  REM  * USED TO CREATE NEW  *
  10. 15  REM  * IFR SITUATIONS FOR  *
  11. 16  REM  * PROGRAMMERS FLIGHT  *
  12. 17  REM  *     SIMULATOR       *
  13. 18  REM  ***********************
  14. 19  REM 
  15. 20 S = 100:S1 = 0:UP = 24579
  16. 70 ST = 24576:O1 = ST +56:O2 = ST +58:I1 = ST +60:I2 = ST +61:MA = ST +12:X1 = ST +26:Y1 = ST +28:AL = ST +87
  17. 120 SH = ST +09:PL = ST +06:LI = ST +15:XY = ST +18:DF = ST +39:CH = ST +93:WS = ST +42:WW = ST +43:WN = ST +44:WE = ST +45
  18. 170  REM 
  19. 220  REM  PX=PICTURE OFFSET
  20. 221  REM  XL= POINTER LOW BYTE
  21. 222  REM  XH= POINTER HIGH BYTE
  22. 223  REM  XX= DOIT FLAG
  23. 270  REM 
  24. 320 PX = 27388:XL = 27389:XH = 27390:XX = 27391: POKE PX,00: POKE XL,00: POKE XH,72: POKE XX,00
  25. 370  REM 
  26. 420  REM 
  27. 470 XC = 150:YC = 80:XF = 100:YF = 30:TX = 70:TY = 47
  28. 520  TEXT : GOSUB 5570
  29. 570 MT = 15:GAS = 0:MI = 0:SE = 0:S1 = 0
  30. 620  REM 
  31. 670  REM   SET UP WIND DRIFT
  32. 720  REM 
  33. 770  POKE WN,0: POKE WE,0: POKE WS,0: POKE WW,0
  34. 820 A% =  RND(1) *4:B% =  RND(1) *50
  35. 870  ON A% GOTO 920,970,1020,1070
  36. 920  POKE WN,B%: GOTO 1120
  37. 970  POKE WE,B%: GOTO 1120
  38. 1020  POKE WS,B%: GOTO 1120
  39. 1070  POKE WW,B%: GOTO 1120
  40. 1120  CALL ST
  41. 1170  POKE O1,32: POKE O2,32: POKE I1,48: POKE I2,48
  42. 1220  REM 
  43. 1270  REM 
  44. 1320  REM  OMNI MESSAGE AND
  45. 1370  REM  STARTING X Y CORD
  46. 1420  REM 
  47. 1470  VTAB 22: REM   OMNI MESSAGE
  48. 1520  POKE X1,175: POKE Y1,38
  49. 1570  REM 
  50. 1620  REM  STARTING ALTITUDE
  51. 1670  REM 
  52. 1720  POKE AL,16: POKE AL -3,32:MA% = 7
  53. 1770  REM 
  54. 1820  REM 
  55. 1870  CALL UP
  56. 1920 S1 = S1 +1: IF S1 >S  THEN 2170
  57. 1970  GOTO 1870
  58. 2020  REM  
  59. 2070  REM    UPDATE THE CLOCK
  60. 2120  REM  
  61. 2170 S1 = 0:SE = SE +1: IF SE <60  THEN 2320
  62. 2220 SE = 0:MI = MI +1:GA = GA +1: IF GA = MT  THEN 4870
  63. 2270  CALL UP
  64. 2320  HTAB 1: VTAB 24: PRINT HO;":";MI;":";SE;"     ";: CALL UP
  65. 2370  REM 
  66. 2420  REM    MOVE THE PICTURE
  67. 2470  REM 
  68. 2520  REM 
  69. 2570  REM   DO THE ADF AND OMNI
  70. 2620  REM 
  71. 2670 X =  PEEK(X1):Y =  PEEK(Y1)
  72. 2720 IX = XF -X:IY = YF -Y:DY = YC -Y -X/4:DX = XC -X +Y/2
  73. 2770 MV% = (TY -Y) *4: IF MV% < -20  OR MV% >20  THEN MV% = 40
  74. 2820  IF MV% <0  THEN MV% = 80 +MV%
  75. 2870  IF TX -X < -20  OR TX -X >20  THEN MV% = 40
  76. 2920  REM 
  77. 2970  REM  DO THE ADF
  78. 3020  REM 
  79. 3070  CALL UP
  80. 3120  IF IX = 0  THEN 3220
  81. 3170 IT = IY/IX
  82. 3220 T1 =  ATN(IT)
  83. 3270 T1% = 16 -10 *T1
  84. 3320  IF X >XF  THEN PF% = (176 -T1%) - PEEK(CH)
  85. 3370  IF X <XF  THEN PF% = (208 -T1%) - PEEK(CH)
  86. 3420  IF PF% >64  THEN PF% = PF% -64: GOTO 3420
  87. 3470  POKE DF,PF%
  88. 3520  REM 
  89. 3570  REM   DO THE OMNI
  90. 3620  REM 
  91. 3670  CALL UP
  92. 3720  IF DY < -5  THEN DY =  -6
  93. 3770  IF DY >5  THEN DY = 6
  94. 3820  IF DX < -5  THEN DX =  -6
  95. 3870  IF DX >5  THEN DX = 6
  96. 3920  IF DI >5  THEN DI = 6
  97. 3970  IF DI < -5  THEN DI =  -6
  98. 4020  POKE O1,32: POKE I1,48
  99. 4070  POKE O2,32: POKE I2,48
  100. 4120  REM 
  101. 4170  REM   DO THE GLIDE SLOPE
  102. 4220  REM 
  103. 4270  CALL UP
  104. 4320  IF  PEEK(ALT) <MA%  THEN 4870
  105. 4370 SL = X -66:DI =  PEEK(ALT) *2 -SL
  106. 4420  IF DI >5  THEN DI = 6
  107. 4470  IF DI < -5  THEN DI =  -6
  108. 4520  IF SL >40  THEN 4670
  109. 4570  IF SL < -10  THEN 4670
  110. 4620  POKE I2,48
  111. 4670  IF  PEEK(AL) >MA%  THEN 1870
  112. 4720  REM 
  113. 4770  REM   DO THE AIRPORT
  114. 4820  REM 
  115. 4870  POKE PX,MV%: POKE XX,00: CALL UP: POKE XX,01: FOR I = 1 TO 391: CALL UP: NEXT : PRINT "PUSH ANY KEY TO CONTINUE"
  116. 4880  POKE XX,00
  117. 4920  GET A$
  118. 4970  REM    FIRST THE FLIGHT PATH
  119. 5020  HGR : HCOLOR= 3: CALL 24588
  120. 5030  HPLOT 50,50
  121. 5031  HPLOT  TO 60,47
  122. 5032  HPLOT 48,53
  123. 5033  HPLOT  TO 60,50
  124. 5034  HPLOT 55,60
  125. 5035  HPLOT  TO 67,57
  126. 5036  HPLOT 55,63
  127. 5037  HPLOT  TO 67,60
  128. 5070  REM     
  129. 5120  REM    THEN THE NAV TRACK
  130. 5170  REM 
  131. 5180  FOR X = 70 TO 100:Y = 82 -X/2: HPLOT X,Y: NEXT 
  132. 5190  FOR Y = 40 TO 150:X = 150 +Y/2: HPLOT X,Y: NEXT 
  133. 5200 X = XF:Y = YF: FOR I = 1 TO 30: HPLOT X + RND(1) *5,Y + RND(1) *5: NEXT 
  134. 5270  HOME : VTAB 23: PRINT "PUSH RETURN TO FLY THIS AGAIN": PRINT "ANY OTHER KEY WILL GO BACK TO MENU": GET A$
  135. 5320  IF  ASC(A$) = 13  THEN 520
  136. 5370  PRINT  CHR$(4)
  137. 5420  PRINT  CHR$(4);"RUN MENU"
  138. 5470  END 
  139. 5520  REM 
  140. 5570  TEXT : HOME : PRINT "YOU ARE CLEARED FOR THE LOS ANGELES"
  141. 5571  PRINT : PRINT "NDB APPROACH TO RUNWAY 24 LEFT"
  142. 5572  PRINT : PRINT "FLY DIRECTLY TO THE NDB AND MAKE"
  143. 5573  PRINT : PRINT "YOUR APPROACH"
  144. 5620  PRINT : PRINT "HIT ANY KEY WHEN READY TO FLY": GET A$: HOME : RETURN